home *** CD-ROM | disk | FTP | other *** search
/ NOVA - For the NeXT Workstation / NOVA - For the NeXT Workstation.iso / Documents / NeXTAnswers / performance.737 < prev    next >
Text File  |  1992-02-06  |  2KB  |  45 lines

  1. {\rtf0\ansi{\fonttbl\f0\fnil Times-Roman;\f1\fmodern Courier;\f2\fswiss Helvetica;}
  2. \paperw11640
  3. \paperh8680
  4. \margl120
  5. \margr120
  6. {\colortbl\red0\green0\blue0;}
  7. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\f0\b0\i0\ul0\fs28 link catatonia \
  8. \
  9.  
  10. \fi-440\li440 Q:  
  11. \fc0 When a link is in progress, it seems to take over my machine.  It is sluggish to activate another application and do any other work. Is there a cure for this? \
  12.  
  13. \fi0\li0 \
  14.  
  15. \fi-440\li440 A:  From a scheduling point of view, there's not much you can do to convince the kernel to give fewer resources to the linker. The linker is designed as the kernel's Dream Program by asking for certain size blocks with a certain regular pattern.\
  16. \
  17.  
  18. \fi0 However, the linker is I/O bound.  It is moving a lot of bits back and forth so anything you can do to make the travel time faster is a win:  faster hard disks, local access to files rather reading files all over NFS, etc.  Constructing the symbol table is a large resource hog; linking without symbols is much faster than with.  However, often you need the symbols for debugging while in development.  You can use the “-x” option to 
  19. \f1\b\fs24 ld(1)
  20. \f0\b0\fs28  to remove symbols from the sections of your code that you're not debugging currently, and then compile new sections with symbols so that only the parts you are working on have symbol information.  This is assuming you are concentrating your debugging efforts on only the changed parts. \
  21. \
  22. To do this, y
  23. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\fc0 ou need to do the following for each of your .o files:\
  24.  
  25. \f1\fs24     ld -r -x foo.o\
  26.     mv a.out foo.o\
  27. \
  28.  
  29. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\f0\fs28\li440\fc0 Then when you modify your sources, 
  30. \f1\b\fs24 make(1
  31. \b0 )
  32. \f0\fs28  will just recompile the object file with full symbols if you have the “-g ”flag on.\
  33.  
  34. \fi-440 \
  35.  
  36. \fi0 The engineers of NeXT Software use 8 MB machines to ensure they are developing software that is usable on the base configuration.  We have implemented compile servers to minimize the impact of large compiles on these local machines.  The compile servers maintain the sources locally and all compiles take place there.
  37. \li0 \
  38. \
  39. QA737\
  40. \
  41. Valid for 1.0\
  42. Valid for 2.0\
  43. \
  44.  
  45.